/*----------- app_led.h -----------*/
#ifndef APP_LED_H
#define APP_LED_H

#ifdef __cplusplus
extern "C" {
#endif

#include "main.h"
#include <stdint.h>

/* 模式参数配置 */
/* 如果未定义，则定义 */
#ifndef BREATHE_PERIOD_MS
#define BREATHE_PERIOD_MS   2000    // 默认值
#endif

#ifndef BLINK_ON_MS
#define BLINK_ON_MS         200     // 默认值
#endif

#ifndef BLINK_OFF_MS
#define BLINK_OFF_MS        200     // 默认值
#endif

typedef enum {
    APP_LED_STATE_STANDBY,  // 常亮模式
    APP_LED_STATE_NORMAL,   // 呼吸模式
    APP_LED_STATE_ERROR,    // 快闪模式
    APP_LED_STATE_COUNT
} app_led_state_t;

void app_led_init(void);
void app_led_set_state(app_led_state_t state);
void app_led_task_10ms(void);

#ifdef __cplusplus
}
#endif

#endif /* APP_LED_H */
